package com.vivo.util;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//
//import sun.misc.BASE64Decoder;
//import sun.misc.BASE64Encoder;
//
public class EncodeUtil {
//
//	public static String bytesToString(byte[] data) {
//		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
//		char[] temp = new char[data.length * 2];
//
//		for (int i = 0; i < data.length; i++) {
//			byte b = data[i];
//			temp[i * 2] = hexDigits[b >>> 4 & 0x0f];
//			temp[i * 2 + 1] = hexDigits[b & 0x0f];
//		}
//		return new String(temp);
//	}
//	
//	/**
//	 * @param s
//	 * @return
//	 */
//	public static String generateStringDigest(String st){
//		try {
//			MessageDigest md = MessageDigest.getInstance( "SHA" );
//	        md.update(st.getBytes("utf-8"));
//	        return bytesToString(md.digest());
//		}
//		catch (Exception err) {
//
//			throw new StringDigestException(err.toString() + " : " + err.getLocalizedMessage());
//
//		} 		
//	}
//	
//	/**
//	 * @param array
//	 * @return
//	 */
//	public static String base64Encode(byte[] array){
//		return new BASE64Encoder().encode(array);
//	}
//	
//	/**
//	 * @param st
//	 * @return
//	 */
//	public static byte[] base64Decode(String st){
//		try{
//			return new BASE64Decoder().decodeBuffer(st);
//		}
//		catch(Exception err){
//			throw new StringDigestException(err.toString() + " : " + err.getLocalizedMessage());
//		}
//	}
//
//	/**
//	 * <p>
//	 * 用于生成文件MD5数字摘要
//	 * <p>
//	 * 
//	 * @param file
//	 * @return
//	 */
//	@SuppressWarnings("unused")
//	public static String generateFileDigest(File file) {
//
//		FileInputStream fis = null;
//		try {
//			MessageDigest md = MessageDigest.getInstance("MD5");
//			fis = new FileInputStream(file);
//			byte[] buffer = new byte[8192];
//			int length = -1;
//
//			while ((length = fis.read(buffer)) != -1) {
//				md.update(buffer, 0, length);
//			}
//
//			return bytesToString(md.digest());
//
//		} 
//		catch (IOException err) {
//
//			throw new FileDigestException(err.toString() + " : " + err.getLocalizedMessage());
//
//		} 
//		catch (NoSuchAlgorithmException err) {
//
//			throw new FileDigestException(err.toString() + " : " + err.getLocalizedMessage());
//
//		} 
//		finally {
//
//			try {
//				fis.close();
//			} catch (IOException err) {
//
//				throw new FileDigestException(err.toString() + " : " + err.getLocalizedMessage());
//
//			}
//		}
//	}
//	
}
